package com.egao.common.module.company.utils;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil;
import com.egao.common.core.utils.ReadJsonUtil;
import com.egao.common.module.company.utils.entity.PositionJson;

import java.util.List;

/**
 * 职位名称工具类
 * @author lym
 * @date 2024/8/23 15:41
 */
public class PositionNameUtil {

    /**
     * 匹配学生选择职位和单位职位
     * @param studentPositionName 学生职位
     * @param companyPositionName 单位职位
     * @return boolean
     */
    public static boolean matching(String studentPositionName, String companyPositionName) {
        // 学生选择职位和单位选择职位都是二级才能匹配到
        if (studentPositionName.contains(companyPositionName)) {
            return true;
        }

        String positionNameJson = ReadJsonUtil.readJsonFromResource("json/positionName.json");
        List<PositionJson> positionJsonList = JSONUtil.toList(positionNameJson, PositionJson.class);

        for (PositionJson item1 : positionJsonList) {
            if (CollectionUtil.isEmpty(item1.getItems())) {
                continue;
            }

            for (PositionJson item2 : item1.getItems()) {
                if (CollectionUtil.isEmpty(item2.getItems())) {
                    continue;
                }

                for (PositionJson item3 : item2.getItems()) {
                    if (item3.getValue().equals(companyPositionName)) {
                        return studentPositionName.contains(item2.getValue());
                    }
                }
            }
        }

        return false;
    }
}
